package cn.wolfcode.result;

import cn.wolfcode.util.DateUtil;
import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Calendar;
import java.util.Date;

/**
 * @Description: 报表查询对象
 * @Author: 伍家钰
 * @Date: 2020/7/23 10:14
 * @Version: 1.0
 */
@Getter
@Setter
public class CustomerReportQueryObject extends QueryObject {
    // 默认按员工姓名进行分组
    private String groupType = "e.name";

    // 开始日期
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date beginDate;

    // 结束日期
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    // 重写结束时间的get方法
    public Date getEndDate() {
        // 防止beginDate为null时引起空指针
        if (endDate != null && beginDate!=null) {
            // 如果beginDate的时间比endDate的时间晚,则将endDate的时间设置成null
            if (beginDate.after(endDate)) {
                return null;
            }
        }
        /*如果beginDate的时间不比endDate的时间晚则通过DateUtil工具类获取成当天最晚时间23时59分59秒,如果不这么做,当天时间都会被当
        成大于0时0分0秒而获取不到*/
        return DateUtil.getEndDate(endDate);
    }
}
